/*
 * @Description: 
 * @Author: rendc
 * @Date: 2024-10-17 14:31:16
 * @LastEditors: rendc
 * @LastEditTime: 2024-10-17 15:13:03
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

/**
 * TestClient
 */
public class TestClient {
  public static void main(String[] args) throws IOException {
    // 1.搭建TCP客户端
    Socket socket = new Socket("127.0.0.1", 8989);
    System.out.println("客户端：成功连接服务器" + socket);
    // 2.封装得到IO流
    // 输出流
    PrintStream ps = new PrintStream(socket.getOutputStream());
    // 输入流
    BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    // 3.1 逐行读取键盘信息
    Scanner sc = new Scanner(System.in);
    String line = null;
    // 3.2 发送信息给服务器
    while (true) {
      System.out.println("客户端：请输入要发送的信息");
      System.out.println("输入quit结束，不区分大小写");
      line = sc.nextLine();
      ps.println(line);
      // System.out.println("line" + line);
      // System.out.println("line.trim().toLowerCase()" + line.trim().toLowerCase());
      // 如果遇到quit则结束录入
      if ("quit".equals(line.trim().toLowerCase())) {
        // if ("QUIT".equals(line.trim().toUpperCase())) {
        break;
      }
      // 3.3 读取服务器返回信息并显示
      System.out.println("客户端：接收到服务器的信息" + br.readLine());
    }
    // 4.关闭资源
    ps.close();
    br.close();
    socket.close();
    System.out.println("客户端：已关闭");
  }
}